package com.vcourse.service.user.service;

import com.vcourse.service.base.dto.MemberDto;
import com.vcourse.service.user.entity.Member;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vcourse.service.user.vo.LoginVo;
import com.vcourse.service.user.vo.RegisterVo;

/**
 * <p>
 * 会员表 服务类
 * </p>
 *
 * @author Zengsh123
 * @since 2020-06-08
 */
public interface MemberService extends IService<Member> {
    /**
     * 用户注册
     * @param registerVo 注册参数
     */
    void register(RegisterVo registerVo);

    /**
     * 用户登录
     * @param loginVo 登录参数胡
     * @return token令牌
     */
    String login(LoginVo loginVo);

    /**
     * 根据用户名（手机号）生成UserDetails
     */
//    UserDetails loadUserByUsername(String username);

    /**
     * 查询会员信息
     * @param memberId 会员id
     * @return 信息
     */
    MemberDto getMemberDtoByMemberId(String memberId);

    /**
     * 统计某天用户注册人数
     * @param day 日期
     * @return 人数
     */
    int getCountRegistryNum(String day);
}
